MySQL এর aggregate functions ডেটাবেসে উপস্থিত ডেটার উপর গণনা বা উপসংহার টানতে ব্যবহৃত হয়। এগুলি বিশেষভাবে GROUP BY ক্লজের সাথে ব্যবহৃত হয়, তবে একক রেকর্ড (row) বা ডেটাবেসের সকল রেকর্ডের উপরও কাজ করতে পারে। MySQL-এ বেশ কিছু জনপ্রিয় aggregate functions রয়েছে, যেমন COUNT, SUM, AVG, MIN, এবং MAX। নিচে এই ফাংশনগুলির ব্যাখ্যা এবং উদাহরণ দেওয়া হলো।
1. COUNT()
COUNT() ফাংশনটি নির্দিষ্ট কলামে থাকা রেকর্ডের সংখ্যা নির্ধারণ করে। এটি সাধারণত টেবিলের বা গ্রুপের মধ্যে মোট রেকর্ডের সংখ্যা বের করার জন্য ব্যবহৃত হয়।
Syntax:
SELECT COUNT(column_name)
FROM table_name;
Example:
SELECT COUNT(*) AS total_employees
FROM employees;
এটি employees টেবিলের মোট রেকর্ডের সংখ্যা (অর্থাৎ কর্মচারীদের সংখ্যা) প্রদান করবে।
COUNT with WHERE clause:
SELECT COUNT(*) AS active_employees
FROM employees
WHERE status = 'Active';
এটি শুধুমাত্র সক্রিয় কর্মচারীদের সংখ্যা ফিরিয়ে দেবে যাদের status কলাম Active।
2. SUM()
SUM() ফাংশনটি একটি নির্দিষ্ট সংখ্যার কলামের মোট মান গণনা করে, যেমন বেতন, বিক্রয় ইত্যাদি।
Syntax:
SELECT SUM(column_name)
FROM table_name;
Example:
SELECT SUM(salary) AS total_salary
FROM employees;
এটি employees টেবিল থেকে সমস্ত কর্মচারীর মোট বেতন হিসাব করবে।
SUM with GROUP BY:
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;
এটি প্রতিটি ডিপার্টমেন্টের মোট বেতন যোগ করে দেখাবে।
3. AVG()
AVG() ফাংশনটি একটি নির্দিষ্ট কলামে থাকা সংখ্যাগুলির গড় (average) মান নির্ধারণ করে।
Syntax:
SELECT AVG(column_name)
FROM table_name;
Example:
SELECT AVG(salary) AS average_salary
FROM employees;
এটি employees টেবিলের সমস্ত কর্মচারীদের গড় বেতন ফিরিয়ে দেবে।
AVG with GROUP BY:
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;
এটি প্রতিটি ডিপার্টমেন্টের গড় বেতন দেখাবে।
4. MIN()
MIN() ফাংশনটি একটি কলামে উপস্থিত সবচেয়ে ছোট মান (smallest value) বের করে। এটি সাধারণত ডেটার মধ্যে সবচেয়ে ছোট মান বা সবচেয়ে কম সংখ্যার খোঁজ করতে ব্যবহৃত হয়।
Syntax:
SELECT MIN(column_name)
FROM table_name;
Example:
SELECT MIN(salary) AS lowest_salary
FROM employees;
এটি employees টেবিল থেকে সর্বনিম্ন বেতন ফিরিয়ে দেবে।
MIN with GROUP BY:
SELECT department, MIN(salary) AS lowest_salary
FROM employees
GROUP BY department;
এটি প্রতিটি ডিপার্টমেন্টে সর্বনিম্ন বেতন দেখাবে।
5. MAX()
MAX() ফাংশনটি একটি কলামে উপস্থিত সবচেয়ে বড় মান (largest value) বের করে। এটি ডেটা বিশ্লেষণ করে সবচেয়ে বড় বা সর্বোচ্চ মান নির্ধারণ করতে ব্যবহৃত হয়।
Syntax:
SELECT MAX(column_name)
FROM table_name;
Example:
SELECT MAX(salary) AS highest_salary
FROM employees;
এটি employees টেবিল থেকে সর্বোচ্চ বেতন ফিরিয়ে দেবে।
MAX with GROUP BY:
SELECT department, MAX(salary) AS highest_salary
FROM employees
GROUP BY department;
এটি প্রতিটি ডিপার্টমেন্টে সর্বোচ্চ বেতন দেখাবে।
Summary of Aggregate Functions
| Function | Description | Example SQL |
|---|---|---|
| COUNT() | Total number of rows or non-NULL values | SELECT COUNT(*) FROM employees; |
| SUM() | Total sum of a numeric column | SELECT SUM(salary) FROM employees; |
| AVG() | Average value of a numeric column | SELECT AVG(salary) FROM employees; |
| MIN() | Minimum value of a column | SELECT MIN(salary) FROM employees; |
| MAX() | Maximum value of a column | SELECT MAX(salary) FROM employees; |
Combined Use of Aggregate Functions
You can combine multiple aggregate functions in a single query. For example:
SELECT department,
COUNT(*) AS total_employees,
AVG(salary) AS average_salary,
MAX(salary) AS highest_salary,
MIN(salary) AS lowest_salary
FROM employees
GROUP BY department;
এটি employees টেবিল থেকে প্রতিটি ডিপার্টমেন্টের মোট কর্মচারী সংখ্যা, গড় বেতন, সর্বোচ্চ বেতন এবং সর্বনিম্ন বেতন একসাথে প্রদর্শন করবে।
সারাংশ
MySQL-এ aggregate functions যেমন COUNT, SUM, AVG, MIN, এবং MAX ডেটাবেসের তথ্য বিশ্লেষণ এবং গণনা করতে সহায়ক। এগুলি ডেটাবেসের বিশাল পরিমাণ ডেটা থেকে মানদণ্ড নির্ধারণ, গড় হিসাব, মোট বেতন যোগ করা, বা সর্বোচ্চ/সর্বনিম্ন মান বের করতে সাহায্য করে। GROUP BY ক্লজের সাথে এই ফাংশনগুলি ব্যবহার করে আপনি বিভিন্ন গ্রুপের ভিত্তিতে ফলাফল পেতে পারেন।
Read more